module RelatoriosHelper
  
  # Retorna uma coleção de "usuário e id" para o select de usuários
  def options_usuario
    usuarios = []
    usuarios = Usuario.find(:all).collect { |u| [u.name, u.id] }
    usuarios << [ "", "" ]
    
    return usuarios.sort
  end
  
  # Retorna uma coleção de "descrição(estado) e estado" para o select de estados
  def options_estado
    estados = []
    estados << [ "", "" ]
    for estado in Requisicao.states
      estados << [ desc_estado(estado.to_s), estado.to_s ]
    end
    
    return estados.sort
  end
  
  # Retorna a descrição do estado passado como parâmetro
  def desc_estado(estado)
    #descrição de todos os estados possíveis do sistema  
    #          'dadosCertificacaoAlterada' => 'Dados de Certificação Alterados',
    #          'scriptsBdExecutado' => 'Scripts de Banco Executados',
    #          'propostoAdiamentoPrazo' => 'Proposto Adiamento de Prazo',
    #          'erroScriptBdCert' => 'Erro na Execução dos Scripts de Banco',
    #          'erroScriptAntCert' => 'Erro na Execução do Script ANT',
    #          'scriptAntExecutadoCert' => 'Script ANT Executado',
    #          'erroAtualizacaoBdCert' => 'Erro na Atualização de Banco (Certificação)',
    #          'erroAtualizacaoServidorCert' => 'Erro na Atualização de Servidor (Certificação)',
    #          'erroAtualizacaoBdProd' => 'Erro na Atualização de Banco (Produção)',
    #          'erroAtualizacaoServidorProd' => 'Erro na Atualização de Servidor (Produção)',


    #'pendente' => "Pendente",
    est = {'criada' => "Requisição criada", 
      'dispensarCertificacao' => "Certificação dispensada",
      'aguardandoAutorizacaoGerencia' => 'Aguardado autorização da gerência',
      'atualizacaoAutorizadaGerencia' => 'Atualização autorizada pela gerência',
      'aguardandoDesenvolvimento' => 'Aguardando Desenvolvimento',
      'escaladaParaDesenvolvedor' => 'Escalada para Desenvolvimento',
      'desenvolvimentoSuspenso' => 'Desenvolvimento Suspenso',
      'emDesenvolvimento' => 'Em desenvolvimento',
      'desenvolvimentoConcluido' => 'Desenvolvimento Concluído',
      'desenvolvimentoReprovadoPool' => 'Desenvolvimento Reprovado (Pool)',
      'desenvolvimentoReprovadoAnal' => 'Desenvolvimento Reprovado (Analista)',
      'desenvolvimentoAprovadoPool' => 'Desenvolvimento Aprovado (Pool)',
      'desenvolvimentoAprovadoAnal' => 'Desenvolvimento Aprovado (Analista)',
      'aguardandoCertificacao' => 'Aguardando Certificação',
      'certificacaoCancelada' => 'Certificação Cancelada',
      'certificacaoSuspensa' => 'Certificação Suspensa',
      'certificacaoDispensada' => 'Certificação Dispensada',
      'escaladaCert' => 'Escalada para Certificação',
      'emCert' => 'Em Certificação',
      'aguardandoAtualizacaoBdCert' => 'Aguardando Atualização de Banco (Certificação)',
      'atualizacaoBdConcluidaCert' => 'Atualizaçao de Banco Concluída (Certificação)',
      'atualizacaoBdSuspensaCert' => 'Atualização de Banco Suspensa (Certificação)',
      'atualizacaoBdIniciadaCert' => 'Atualização de Banco Iniciada (Certificação)',          
      'atualizacaoBdCanceladaCert' => 'Atualização de Banco Cancelada (Certificação)',          
      'aguardandoAtualizacaoServidorCert' => 'Aguardando Atualizaçao de Servidor (Certificação)',
      'atualizacaoServidorConcluidaCert' => 'Atualizaçao de Servidor Concluída (Certificação)',
      'atualizacaoServidorCanceladaCert' => 'Atualizaçao de Servidor Cancelada (Certificação)',
      'atualizacaoServidorIniciadaCert' => 'Atualizaçao de Servidor Iniciada (Certificação)',
      'atualizacaoServidorSuspensaCert' => 'Atualizaçao de Servidor Suspensa (Certificação)',
      'requisicaoReprovadaCert' => 'Requisição Reprovada (Certificação)',
      'requisicaoAprovadaCert' => 'Requisição Aprovada (Certificação)',
      'aguardandoAtualizacaoProd' => 'Aguardando Atualizaçao de Produção',
      'aguardandoAtualizacaoBdProd' => 'Aguardando Atualização de Banco (Produção)',
      'atualizacaoBdIniciadaProd' => 'Atualização de Banco Iniciada (Produção)',
      'atualizacaoBdCanceladaProd' => 'Atualização de Banco Cancelada (Produção)',
      'atualizacaoBdConcluidaProd' => 'Atualização de Banco Concluída (Produção)',
      'atualizacaoBdSuspensaProd' => 'Atualização de Banco Suspensa (Produção)',          
      'aguardandoAtualizacaoServidorProd' => 'Aguardando Atualizaçao de Servidor (Produção)',
      'atualizacaoServidorIniciadaProd' => 'Atualizaçao de Servidor Iniciada (Produção)',
      'atualizacaoServidorCanceladaProd' => 'Atualização de Servidor Cancelada (Produção)',
      'atualizacaoServidorConcluidaProd' => 'Atualização de Servidor Concluída (Produção)',
      'atualizacaoServidorSuspensaProd' => 'Atualização de Servidor Suspensa (Produção)',
      'requisicaoEmProd' => 'Requisição em Produção',
      'erroNaProducao' => 'Erro Na Produção', 
      'autorizadoEnvioProducao' => 'Envio para produção autorizado',
      'aguardandoAutorizacaoGerenteProd' => 'Aguardando Autorização do Gerente (Produção)',
      'atualizacaoProducaoSolicitada' => 'Atualização de Produção Solicitada'
    }
    
    return est[estado]
  end
  
end